import request from '@/utils/request'

// 查询角色列表
export function getPagelist(query) {
  return request({
    url: '/system/role/getPagelist',
    method: 'get',
    params: query
  })
}

// 查询角色详细
export function getDetail(query) {
  return request({
    url: '/system/role/getDetail',
    method: 'get',
    params: query
  })
}

// 新增角色
export function add(data) {
  return request({
    url: '/system/role/add',
    method: 'post',
    data: data
  })
}

// 修改角色
export function edit(data) {
  return request({
    url: '/system/role/edit',
    method: 'put',
    data: data
  })
}
// 修改角色
export function editDataScope(data) {
  return request({
    url: '/system/role/editDataScope',
    method: 'put',
    data: data
  })
}

// 角色数据权限
export function dataScope(data) {
  return request({
    url: '/system/role/dataScope',
    method: 'put',
    data: data
  })
}

// 角色状态修改
export function changeStatus(data) {
  return request({
    url: '/system/role/changeStatus',
    method: 'put',
    data: data
  })
}

// 删除角色
export function del(roleId) {
  return request({
    url: '/system/role/del/' + roleId,
    method: 'delete'
  })
}

// 查询角色已授权用户列表
export function allocatedUserList(query) {
  return request({
    url: '/system/role/authUser/allocatedList',
    method: 'get',
    params: query
  })
}

// 查询未关联角色用户列表
export function unallocatedUserList(query) {
  return request({
    url: '/system/role/authUser/unallocatedList',
    method: 'get',
    params: query
  })
}

// 分配角色关联用户
export function addRoleUsers(data) {
  return request({
    url: '/system/role/authUser/addRoleUsers',
    method: 'put',
    data: data
  })
}

// 批量取消角色关联用户
export function delRoleUsers(data) {
  return request({
    url: '/system/role/authUser/delRoleUsers',
    method: 'put',
    data: data
  })
}

// 校验角色名称是否唯一
export function checkRoleNameUnique(query) {
  return request({
    url: '/system/role/checkRoleNameUnique',
    method: 'get',
    params: query
  })
}
// 校验角色权限字符串是否唯一
export function checkRoleKeyUnique(query) {
  return request({
    url: '/system/role/checkRoleKeyUnique',
    method: 'get',
    params: query
  })
}
